import type { SpinnerProps } from "@lib/Spinner/types";
import type { BsVariant } from "@lib/types";
import type { Component, JSX, JSXElement } from "solid-js";

export type ButtonVariant = BsVariant

export interface ButtonProps extends JSX.ButtonHTMLAttributes<HTMLButtonElement>, JSX.CustomAttributes<HTMLButtonElement> {
    variant?: ButtonVariant
    size?: 'sm' | 'lg'
    outline?: boolean
    loading?: boolean
    loadingDelay?: number
    spinnerProps?: Omit<SpinnerProps, 'style'> & { style?: JSX.CSSProperties }
    icon?: JSXElement
    active?: boolean
}
